<?php

namespace Smalot\Cups\Model;

/**
 * Interface PrinterInterface
 *
 * @package Smalot\Cups\Model
 */
interface PrinterInterface
{

    /**
     * @return string|null
     */
    public function getUri(): ?string;

    /**
     * @param string $uri
     *
     * @return PrinterInterface
     */
    public function setUri(string $uri): self;

    /**
     * @return string|null
     */
    public function getName(): ?string;

    /**
     * @param string $name
     *
     * @return PrinterInterface
     */
    public function setName(string $name): self;

    /**
     * @return array
     */
    public function getAttributes(): array;

    /**
     * @param array $attributes
     *
     * @return PrinterInterface
     */
    public function setAttributes(array $attributes): self;

    /**
     * @return string|null
     */
    public function getStatus(): ?string;

    /**
     * @param string $status
     *
     * @return PrinterInterface
     */
    public function setStatus(string $status): self;
}
